Blam file offsets
under construction - needs formatting :BLAM.LST files are found in "My Documents\My Games\Halo". Therein, default gametypes are in "\saved\playlists\default_playlist", each in a numbered folder, and custom gametypes are in "\savegames\", in folders named per custom gametype defined :These can be edited beyond the scope of Halo's custom gametype interface, with a hex editor like Hex Workshop. This allows hosts of Halo Trial to host more than Slayer and CTF, with custom vehicle sets. Time values can also be changed. :I recomment Hex Workshop, as it has the CRC-32 calculator needed to validate an edited BLAM.LST file *FILE STRUCTURE (the "-" should be read as "through", as in "start to end"): : : : : : : :Enums: : :CRC-32 1's complement of the first 0x098 bytes in the file. Highlight the file from 0x00 to 0x97 inclusive and have HexEdit calculate the crc-32 with 1's complement. Remember to reverse the byte order and insert it here. Gametypes 1=CTF 2=Slayer 3=Oddball 4=KOTH 5=Race *** Note: Vehicle settings *** Using the following notation: t turret b banshee r rocket hog s scorpion g ghost h warthog The bits are: 00000000 00tttbbb rrrsssgg ghhh1000 where the final 1000 denotes a custom vehicle set. Then group it into bytes in reverse order: ghhh 1000 rrrs ssgg 00tt tbbb 0000 0000 (reverse the bytes and not the bits) and plug it into hex 60-63 and 64-67 using the hex editor. The maximum number is 7 but only up to 4 is allowed and you only get one banshee no matter how many you want (unless you hex edit the map). All max is 48, 92, 24, 00 hex. Switching Blam.lst files: 1. Start the game and go all the way to the point of picking CTF, 2. Minimize the halo game (use alt-tab) 3. Copy your desired blam.lst (rename a copy if necessary) 4. Go to "My Documents\My Games\Halo Trial\saved\playlists\default_playlist" 5. Go to 32 and paste your blam.lst. 6. Now maximize the halo game, pick CTF and start the game. (You can also pick 26 and pick Slayer if you wish.) You can pick any one of these: Classic: 00 Slayer 01 Slayer Pro 02 Elimination 03 Phantoms 04 Endurance 05 Rockets 06 Snipers 07 Oddball 08 Reverse Tag 09 Accumulate 10 Juggernaut 11 Stalker 12 King 13 King Pro 14 Crazy King 15 Race 16 Rally 17 CTF 18 Invasion 19 Iron CTF 20 CTF Pro 21 Team Race 22 Team Rally 23 Team Ball 24 Team King 25 Team Slayer Standard: 26 Slayer this is the trial version game 27 Oddball 28 Juggernaut 29 King 30 Crazy King 31 Race 32 CTF this is the trial version game 33 Assault 34 Team Slayer 35 Team Oddball 36 Team King 37 Team Race BLAM.LST Replacement/Modification Tutorial You can start with any of the blam.lst files supplied with Halo Trial. (See GameList.txt) The only hex editor known to us which supplies the needed check sum is Hex Workshop available at www.bpsoft.com. Note that if the game keeps running slayer instead of what you made, you probably did not get the check sum correct. The road map: GameList.txt gives the games by number and name. BlamSymbolTable.txt gives the locations of most of the pertinent variables in the blam.lst file. The first entry is: 00-2f 00-47 Unicode String Name of gametype This should be changed to either CTF or SLAYER. Unicode means there are two bytes per character. You can type characters by tabbing to the right hand panel and you can zero out the remaining bytes by tabbing to the left hand panel. For CTF you have: 0000000 4300 5400 4600 0000 0000 0000 0000 0000 C.T.F........... Fill in 30 through 97 as desired and based on the road map in BlamsymbolTable.txt. The Checksum: Highlight the file from 0000 to 0097 inclusive and have hexedit calculate the crc-32 with 1's complement. Remember to reverse the byte order and insert it here. For example, if the hexeditor calculates: BBF1D1B1 you must type B1 D1 F1 BB starting at 98. (0000090 0000 0000 0020 0000 B1D1 F1BB 0000 0000) The rest of the file: Zero the rest of the file by highlighting 9c thru the end of the file and using the FILL function to change all of that to zero's. Save the file and when you want to use it copy it as follows: 1. Start the game 2. Minimize the halo game (use alt-tab) 3. Copy your blam.lst (rename a copy if necessary) 4. Go to "My Documents\My Games\Halo Trial\saved\playlists\default_playlist" 5. Go to 32 and paste your blam.lst. 6. Now maximize the halo game, pick CTF and start the game. (You can also pick 26 and pick Slayer if you wish.) Note on Hexadecimal numbers: Hexadecimal numbers are base 16 while regular numbers are base 10. the digits are as follows with the equivalent base 10 value: Hex/Decimal 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A 10 B 11 C 12 D 13 E 14 F 15 This system is used since it gives a "simple" representation of all of the possible bit combinations which can be stored in a computer.